<?php

//
//  Copyright (C) 2004-2006  Autodesk, Inc.
//
//  This library is free software; you can redistribute it and/or
//  modify it under the terms of version 2.1 of the GNU Lesser
//  General Public License as published by the Free Software Foundation.
//
//  This library is distributed in the hope that it will be useful,
//  but WITHOUT ANY WARRANTY; without even the implied warranty of
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
//  Lesser General Public License for more details.
//
//  You should have received a copy of the GNU Lesser General Public
//  License along with this library; if not, write to the Free Software
//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
//

?>

<?php
require_once("config.php");
require_once("utils.php");
require_once(ROOT_DIR_CLASES.'/cCliente.php'); 
require_once(ROOT_DIR_CLASES.'/cConfiguracion.php');
require_once(ROOT_DIR_CLASES.'/Movil.php');
require_once 'JSON.php';
class Cuenta {
 	var $id;
	var $label;
	var $nombre;
    var $nombre_dos;
    var $codigocl;
    var $patente;
    var $identificador;
	var $codigo;
	var $codigoAlfa;
	var $imagen;
}
class QuerySelectMoviles{
	private $args = null;
	

	function __construct($args)
	{
		$this->args = $args;
	}

	function Execute(){
		$result   = array();
		$iCuenta  = $this->args['CUENTA'];
		$iObjetivo= (int)$this->args['OBJETIVO'];
		$iObjetivoDB= (int)$this->args['OBJETIVODB'];
		$iFlotaId = (int)$this->args['FLOTA'];
		$iTablaId = (int)$this->args['TABLAID'];
		$iRCId    = (int)$this->args['RCID'];
	 	if($iObjetivo == 5){
			/*Agarro el label format del cliente para poder ordenar luego cuando obtengo las cuentas*/
			$configRegistrada = cConfiguracion::getConfig($iTablaId, $iObjetivo);
		 	$VEHlblformat = VEH_LBLFORMAT;
		 	if (($configRegistrada->cantidad()>0)&&(trim($configRegistrada->campo('VEH_lblformat',0))!='')){ //tiene configuracion inicial
		 		$VEHlblformat = $configRegistrada->campo('VEH_lblformat',0);
			}
		 	$lblFormat =  split(',',$VEHlblformat);
		 	$orderByLabel = getOrderByFromLabelFormat($lblFormat);
			if($iRCId || $iFlotaId){
	        	$vMoviles = BykomCliente::Cuentas_Cliente_Movil_Dealer_By_RCAndFlotas($iTablaId,$iRCId,$iFlotaId, $orderByLabel);
			}else{
	            $vMoviles = BykomCliente::Cuentas_Cliente_Movil_Dealer($iTablaId, $orderByLabel);
			}
	 	}else{
	 		/*Agarro el label format del cliente para poder ordenar luego cuando obtengo las cuentas*/
			$configRegistrada = cConfiguracion::getConfig($iTablaId, $iObjetivo);
		 	$VEHlblformat = VEH_LBLFORMAT;
		 	if (($configRegistrada->cantidad()>0)&&(trim($configRegistrada->campo('VEH_lblformat',0))!='')){ //tiene configuracion inicial
		 		$VEHlblformat = $configRegistrada->campo('VEH_lblformat',0);
			}
		 	$lblFormat =  split(',',$VEHlblformat);
		 	$orderByLabel = getOrderByFromLabelFormat($lblFormat);
			if($iRCId || $iFlotaId){
	        	$vMoviles = BykomCliente::Cuentas_Cliente_Movil_Alias_By_RCAndFlotas($iTablaId,$iRCId,$iFlotaId, $orderByLabel);
	        	if($vMoviles->cantidad()==0){
					$vMoviles = BykomCliente::Cuentas_Cliente_Movil_Dealer_By_RCAndFlotas($iCuenta,$iRCId,$iFlotaId, $orderByLabel);
	        	}
			}else{
				$vMoviles = BykomCliente::Cuentas_Cliente_Movil_DealerAlias($iTablaId,$iCuenta, $orderByLabel);
				if($vMoviles->cantidad()==0){
					$vMoviles = BykomCliente::Cuentas_Cliente_Movil_Dealer($iCuenta, $orderByLabel);
	        	}
			}
	 	}
        if($vMoviles->cantidad()){
			
        	$cta = new Cuenta();
			$cta->id = "";
			$cta->nombre = "";
	        $cta->nombre_dos = "";
	        $cta->codigocl = "";
	        $cta->patente = "";
	        $cta->identificador = "";
			$cta->codigo = "";
			$cta->codigoAlfa = "";
			$cta->imagen = "";
        	$cta->label = "";
    		array_push($result, $cta);
    		
			for($i=0; $i<$vMoviles->cantidad(); $i++){
			 	$cta = new Cuenta();
				$cta->id = $vMoviles->campo('ORDER_ID',$i);
				$cta->nombre = ReplaceChars($vMoviles->campo('nombre',$i));
		        $cta->nombre_dos = ReplaceChars($vMoviles->campo('nombre_dos',$i));
		        $cta->codigocl = $vMoviles->campo('codigocl',$i);
		        $cta->patente = $vMoviles->campo('Patente',$i);
		        $cta->identificador = ReplaceChars($vMoviles->campo('Identificador',$i));
				$cta->codigo = ReplaceChars($vMoviles->campo('Codigo',$i));
				$cta->codigoAlfa = ReplaceChars($vMoviles->campo('CodigoAlfa',$i));
				$cta->imagen = ReplaceChars($vMoviles->campo('Imagen',$i));		  
				$label = '';
				if (trim($lblFormat[0])!=''){
					$label .= ReplaceChars($vMoviles->campo($lblFormat[0],$i)).' ';
				}
				if (trim($lblFormat[1])!=''){
					$label .= ReplaceChars($lblFormat[1]).' ';
				}
				if (trim($lblFormat[2])!=''){
					$label .= ReplaceChars($vMoviles->campo($lblFormat[2],$i)).' ';
				}
				if (trim($lblFormat[3])!=''){
					$label .= ReplaceChars($lblFormat[3]).' ';
				}
				if (trim($lblFormat[4])!=''){
					$label .= ReplaceChars($vMoviles->campo($lblFormat[4],$i));
				}
				if (trim($label)==''){
					$label = 'unformatted label';
				}
				$cta->label = $label;
    			array_push($result, $cta);
			 }
        }else{
        	$oMovil = new stdClass();
   			$oMovil->id = "";
   			$oMovil->nombre = "";
   			$oMovil->iRCId = $iRCId;
        	array_push($result, $oMovil);
        }
		return $result;
	}
}
?>